In one well known type of data communications technology, user information is transported in variable length data units generally referred to as packets. Examples of products using variable length packets include Token Ring and Ethernet local area networks ( LANs) in which such packets are transferred between user stations over a transmission medium shared by all of the stations on the LAN. As implied by the name, LANs were developed primarily to connect user stations located within a limited geographic area, such as a campus, a single building or even a limited area within a single building.
There are good reasons why it is beneficial to have networking technology that allows two or more widely-separated users to interact as if they are directly attached to the same local LAN. One reason is that application programs originally written for execution only in a LAN environment need not be abandoned or have their usefulness impaired simply because all of the potential program users cannot be physically to the same LAN. If a remote program user can communicate with the LAN through an intermediate communications system, then that user can utilize the application program (or other LAN-attached resources) with the same ease as other users who actually are connected directly to the LAN. An intermediate system which supports transfer of LAN frames between remote users is said to provide LAN emulation support to the remote users.
The most widely known example of such an intermediate system is a wide area network or WAN. Because wide area networks typically serve a wide variety of users with differing data traffic requirements, WAN technology is typically a "general purpose" technology rather than being optimized for a single purpose. Asynchronous Transfer Mode or ATM technology is one such "general purpose" WAN technology that is finding increasing favor because of its high potential bandwidth and its ability to handle data traffic having considerably different service requirements and properties.
One of the fundamental requirements of ATM technology is that data be transported in fixed length data units commonly referred to as cells. The mandatory use of fixed length cells makes it possible to switch data at high speeds, using special hardware-based switches, along paths through a wide area network.
Current ATM standards define a fifty three byte cell divided into a five byte header field and a forty-eight byte data or payload field. LAN frames are typically considerably longer than fifty-three bytes. Thus, before a LAN frame can be transported through an ATM network, it is normally necessary to segment or disassemble that frame into shorter units of data, each of which can be accommodated within a standard ATM cell. At the destination, data extracted from the ATM cells can be reassembled to recover the original LAN frame.
In an ideal world, ATM cells representing successive "slices" of a LAN frame arrive at a destination in the right order and without any inter-cell gaps, allowing the LAN frame to be reconstructed "on the fly" as it is forwarded to the intended user. This is, of course, not an ideal world. For several reasons, it is entirely possible for ATM cells representing successive bytes in a LAN frame, to be delayed in transit relative to one another resulting in inter-cell time gaps at the destination.
To make use of a LAN frame at its destination, that frame clearly must be complete. One known technique for reconstructing a complete LAN frame is to temporarily store or buffer data extracted from ATM cells until every ATM cell representing the frame has been received and processed at the destination. After the complete LAN frame is stored, then the buffer contents are forwarded to the intended user.
A drawback of this prior art approach is that the delivery of each frame is held up until the last ATM cell containing frame data is received and processed without regard to whether or not any of the ATM cells was actually delayed in transit. Thus, every LAN frame is held up at its destination to deal with the uncertain possibility that an ATM cell or cells carrying data for any of the frames might have been delayed in transit.